﻿using System;
using System.Collections.Generic;
using System.Text;
using ElevatorLib;

namespace AnalysisLib
{
    /// <summary>
    /// 乘客分析类，获得Person类中不可见的属性
    /// </summary>
    public class PersonAccessor
    {
        private Person p;
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="_p">乘客</param>
        public PersonAccessor(Person _p)
        {
            p = _p;
        }
        /// <summary>
        /// p.isUp
        /// </summary>
        public bool IsUp
        {
            get
            {
                return p.isUp;
            }
            set
            {
                p.isUp = value;
            }
        }
        /// <summary>
        /// p.requestDelay
        /// </summary>
        public double RequestDelay
        {
            get
            {
                return p.requestDelay;
            }
            set
            {
                p.requestDelay = value;
            }
        }
        /// <summary>
        /// p.servTime
        /// </summary>
        public double ServTime
        {
            get
            {
                return p.servTime;
            }
            set
            {
                p.servTime = value;
            }
        }
        /// <summary>
        /// p.waitTime
        /// </summary>
        public double WaitTime
        {
            get
            {
                return p.waitTime;
            }
            set
            {
                p.waitTime = value;
            }
        }
        /// <summary>
        /// p.targetFloor
        /// </summary>
        public int TargetFloor
        {
            get
            {
                return p.targetFloor;
            }
            set
            {
                p.targetFloor = value;
            }
        }
        /// <summary>
        /// p.timeIn
        /// </summary>
        public double TimeIn
        {
            get
            {
                return p.timeIn;
            }
            set
            {
                p.timeIn = value;
            }
        }
        /// <summary>
        /// p.timeOut
        /// </summary>
        public double TimeOut
        {
            get
            {
                return p.timeOut;
            }
            set
            {
                p.timeOut = value;
            }
        }

        /// <summary>
        /// p.arriveTime
        /// </summary>
        public double ArriveTime
        {
            get
            {
                return p.arriveTime;
            }
            set
            {
                p.arriveTime = value;
            }
        }

        /// <summary>
        /// p.originFloor
        /// </summary>
        public int OriginFloor
        {
            get
            {
                return p.originFloor;
            }
            set
            {
                p.originFloor = value;
            }
        }

    }
}
